﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Objects.DataClasses;

namespace LojaEmDia.Negocio.Faced
{
    public class NegocioFaced
    {
        private static NegocioFaced _instancia;


        private NegocioFaced()
        {
        }


        public static NegocioFaced Me
        {
            get
            {

                if (_instancia == null)
                    _instancia = new NegocioFaced();
                return _instancia;
            }
        }

        public IList<CIDADE> ListarCidade(int pagina, int quantidadeRegistros)
        {
            return Dominio.DominioCidade.Me.Listar(pagina, quantidadeRegistros);

        }

        public List<Negocio.CLIENTE> PesquisarCliente(string cpf, string nome)
        {
            if (!string.IsNullOrEmpty(cpf) && cpf.Trim() != ".   .   -")
                return  Dominio.DominioCliente.Me.PesquisarPorCPF(cpf);
            else
                return  Dominio.DominioCliente.Me.PesquisarPorNome(nome);

        }

        public void Salvar(List<Negocio.CLIENTE> list)
        {
            Dominio.DominioCliente.Me.Salvar(list);
        }

        public void Salvar(List<Negocio.FABRICANTE> list)
        {
            Dominio.DominioFabricante.Me.Salvar(list);
        }

        public List<ESTADO> ListarEstado()
        {
            return Dominio.DominioEstado.Me.Listar();
        }

        public List<CIDADE> ListarCidadePorEstado(int estado)
        {
            return Dominio.DominioCidade.Me.ListarPorEstado(estado);
        }

        public List<FABRICANTE> ListarFabricante()
        {
            return Dominio.DominioFabricante.Me.Listar();
        }

        public void Salvar(List<PRODUTO> list)
        {
            Dominio.DominioProduto.Me.Salvar(list);
        }

        public List<PRODUTO> PesquisarProduto(string nome)
        {
            return Dominio.DominioProduto.Me.PesquisarPorNome(nome);
        }

        public void Salvar(List<CIDADE> lista)
        {
            Dominio.DominioCidade.Me.Salvar(lista);
        }

        public PRODUTO ObterProdutoPorCodigoBarra(string codigoBarra)
        {
            return Dominio.DominioProduto.Me.ObterPorCodigoBarra(codigoBarra);
        }
    }
}
